define(['jquery', 'bootstrap', 'backend', 'addtabs', 'table', 'echarts', 'echarts-theme', 'template'], function ($, undefined, Backend, Datatable, Table, Echarts, undefined, Template) {

    var Controller = {
        index: function () {
            // 基于准备好的dom，初始化echarts实例
            // 饼状图
            var myChart = Echarts.init(document.getElementById('echart'), 'walden');
            // 柱状图
            var myChart2 = Echarts.init(document.getElementById('echart2'));

            // 指定图表的配置项和数据
            // var option = {
            //     title: {
            //         text: '',
            //         subtext: ''
            //     },
            //     tooltip: {
            //         trigger: 'axis'
            //     },
            //     legend: {
            //         data: [__('Sales'), __('Orders')]
            //     },
            //     toolbox: {
            //         show: false,
            //         feature: {
            //             magicType: {show: true, type: ['stack', 'tiled']},
            //             saveAsImage: {show: true}
            //         }
            //     },
            //     xAxis: {
            //         type: 'category',
            //         boundaryGap: false,
            //         data: Orderdata.column
            //     },
            //     yAxis: {

            //     },
            //     grid: [{
            //             left: 'left',
            //             top: 'top',
            //             right: '10',
            //             bottom: 30
            //         }],
            //     series: [{
            //             name: __('Sales'),
            //             type: 'line',
            //             smooth: true,
            //             areaStyle: {
            //                 normal: {
            //                 }
            //             },
            //             lineStyle: {
            //                 normal: {
            //                     width: 1.5
            //                 }
            //             },
            //             data: Orderdata.paydata
            //         },
            //         {
            //             name: __('Orders'),
            //             type: 'line',
            //             smooth: true,
            //             areaStyle: {
            //                 normal: {
            //                 }
            //             },
            //             lineStyle: {
            //                 normal: {
            //                     width: 1.5
            //                 }
            //             },
            //             data: Orderdata.createdata
            //         }]
            // };

           // alert(Filedata);

            var pieData = Filedata;
            
            var option1data = {
                legenddata: [],
                seriesdata: []
            };
            if(pieData && typeof pieData == 'object') {
                var pd = pieData.pieData;
                for(var i in pd) {
                    option1data.legenddata.push(pd[i].name);
                    option1data.seriesdata.push({value:pd[i].num,name:pd[i].name});
                }             
            }
            

            // 饼状图
            var option1 = {
                title : {
                    text: __('File Num'),
                    //subtext: '纯属虚构',
                    x:'center'
                },
                tooltip : {
                    trigger: 'item',
                    formatter: "{a} <br/>{b} : {c} ({d}%)"
                },
                legend: {
                    orient : 'vertical',
                    x : 'left',
                    data : option1data.legenddata
                },
                toolbox: {
                    show : true,
                    feature : {
                        mark : {show: true},
                        dataView : {show: true, readOnly: false},
                        magicType : {
                            show: true, 
                            type: ['pie', 'funnel'],
                            option: {
                                funnel: {
                                    x: '25%',
                                    width: '50%',
                                    funnelAlign: 'left',
                                    max: 1548
                                }
                            }
                        },
                        restore : {show: true},
                        saveAsImage : {show: true}
                    }
                },
                calculable : true,
                series : [
                    {
                        name:'访问来源',
                        type:'pie',
                        radius : '55%',
                        center: ['50%', '60%'],
                        data: option1data.seriesdata
                    }
                ]
            };                  

            // 使用刚指定的配置项和数据显示图表。
            myChart.setOption(option1);

            var barData = Spacedata;

            var option2data = {
                yAxisdata: [],
                seriesdata: [],
                seriesdata1: [],
            };
            if(barData && typeof barData == 'object') {
                var pd = barData.barData;
                //console.log(pd);
                for(var i in pd) {
                    option2data.yAxisdata.push(i);
                    option2data.seriesdata.push(pd[i].used);
                    option2data.seriesdata1.push(pd[i].left);
                }             
            }
            console.log(option2data);


            var option2 = {
                tooltip : {
                    trigger: 'axis',
                    axisPointer : {            // 坐标轴指示器，坐标轴触发有效
                        type : 'shadow'        // 默认为直线，可选为：'line' | 'shadow'
                    }
                },
                legend: {
                    data:[__('Used Space'), __('Left Space')]
                },
                toolbox: {
                    show : true,
                    feature : {
                        mark : {show: true},
                        dataView : {show: true, readOnly: false},
                        magicType : {show: true, type: ['line', 'bar', 'stack', 'tiled']},
                        restore : {show: true},
                        saveAsImage : {show: true}
                    }
                },
                calculable : true,
                xAxis : [
                    {
                        type : 'value'
                    }
                ],
                yAxis : [
                    {
                        type : 'category',
                        data : option2data.yAxisdata
                    }
                ],
                series : [
                    {
                        name:__('Used Space'),
                        type:'bar',
                        stack: '总量',
                        itemStyle : { normal: {label : {show: true, position: 'insideRight'}}},
                        data:option2data.seriesdata
                    },
                    {
                        name:__('Left Space'),
                        type:'bar',
                        stack: '总量',
                        itemStyle : { normal: {label : {show: true, position: 'insideRight'}}},
                        data:option2data.seriesdata1
                    }
                ]
            };


           myChart2.setOption(option2);
                    

            //动态添加数据，可以通过Ajax获取数据然后填充
            // setInterval(function () {
            //     Orderdata.column.push((new Date()).toLocaleTimeString().replace(/^\D*/, ''));
            //     var amount = Math.floor(Math.random() * 200) + 20;
            //     Orderdata.createdata.push(amount);
            //     Orderdata.paydata.push(Math.floor(Math.random() * amount) + 1);

            //     //按自己需求可以取消这个限制
            //     if (Orderdata.column.length >= 20) {
            //         //移除最开始的一条数据
            //         Orderdata.column.shift();
            //         Orderdata.paydata.shift();
            //         Orderdata.createdata.shift();
            //     }
            //     myChart.setOption({
            //         xAxis: {
            //             data: Orderdata.column
            //         },
            //         series: [{
            //                 name: __('Sales'),
            //                 data: Orderdata.paydata
            //             },
            //             {
            //                 name: __('Orders'),
            //                 data: Orderdata.createdata
            //             }]
            //     });
            // }, 2000);
            $(window).resize(function () {
                myChart.resize();
                myChart2.resize();
            });

            //读取FastAdmin的更新信息
            // $.ajax({
            //     url: Config.fastadmin.api_url + '/news/index',
            //     type: 'post',
            //     dataType: 'jsonp',
            //     success: function (ret) {
            //         $("#news-list").html(Template("newstpl", {news: ret.newslist}));
            //     }
            // });
            // $.ajax({
            //     url: Config.fastadmin.api_url + '/forum/discussion',
            //     type: 'post',
            //     dataType: 'jsonp',
            //     success: function (ret) {
            //         $("#discussion-list").html(Template("discussiontpl", {news: ret.discussionlist.slice(0,6)}));
            //     }
            // });



            // $.ajax({
            //     url: '/admin/dashboard/getInstrumentFileNum',
            //     type: 'post',
            //     dataType: 'jsonp',
            //     success: function (ret) {
            //         //$("#news-list").html(Template("newstpl", {news: ret.newslist}));
            //         var legendData = array();

            //         for(var i in ret) {
            //             legendData.push(ret[i].name);
            //         }
            //         myChart.setOption({
            //             legend: {
            //                 data: ['直接访问','邮件营销','联盟广告','视频广告','搜索引']
            //             },
            //             // series: [{
            //             //         name: __('Sales'),
            //             //         data: Orderdata.paydata
            //             //     },
            //             //     {
            //             //         name: __('Orders'),
            //             //         data: Orderdata.createdata
            //             //     }]
            //         });
            //         console.info(ret);
            //         alert(ret)
            //     }
            // });
        }
    };

    return Controller;
});